$(function () {
    // console.log('ok');
  // 封装获取服务器的用户信息
  function initUserinfo() { 
       // 获取用户基本信息
    // 发送axios请求 获取用户信息
  axios.get('/my/userinfo').then(({ data: res }) => {
    // console.log(res.data);
    // 使用layui中的表单赋值API 
    // 查看layui文档中的表单 表单赋值
    layui.form.val('user-form', res.data)
    
    })
  }
  // 调用获取服务器的用户信息函数
  initUserinfo()

  // 自定义校验昵称规则
  layui.form.verify({
    // 正则表达式
    nickname:[/^\S{1,10}$/,'必须输入1-10位非空字符']
  })

  // 监听表单默认提交行为
  $('[lay-filter="user-form"]').on('submit', function (e) {
    // 阻止浏览器默认行为
    e.preventDefault()
    // 获取全部的form内容
    const int_v = $(this).serialize()
    console.log(int_v);
    axios.put('/my/userinfo', int_v).then(({ data: res }) => {
      console.log(res);
      if (res.code === 0) {
        // 提示用户修改信息成功
        layer.msg(res.message)

        // 让index.html页面 重新调用info()函数
        // window 代表找到了子窗口的顶级对象
        // window.parent 表示找到了子窗口的父元素 index
        // 调用info()函数重新获取服务器内容
        // 需要提交服务器完成后才执行此操作
        // 因为info()函数在index.js中 是一个入口函数 有作用域的限制 所以另一边要把关联函数写到入口函数外部
        window.parent.info()
      }
    })
  })

  // 监听重置按钮的默认行为
  $('[type="reset"]').on('click', function (e) {
    // 阻止默认行为
    e.preventDefault()

    // 此操作表示还没有保存到服务器 点击之后表单内还是显示服务器原有的值
    initUserinfo()
  })
})